草庐IT

php CURL - 多个独立 session - 需要帮助!

这是我的困境...我基本上有一个脚本,它通过CURL发布到第3方网站以执行登录,然后发布另一个帖子以根据该登录session更新用户详细信息。现在,随着我的网站越来越忙,我有多个用户在做同样的事情,似乎curl有时会变得困惑,并用不同的用户信息更新一个用户的详细信息。这导致了真正的问题。似乎是用户在一次登录后使用的cookie被其他用户共享,他们最终使用相同的cookie登录-混淆了第3方系统。我的代码发布在下面,我需要使用cookiefile和cookiejar来维护phpsession以允许我做我需要做的事情。但似乎所有用户都在重复使用同一个cookie……那有意义吗?有什么我可以

php - 忽略 cURL 响应?

我有一个登录脚本,可以将数据传递给另一个脚本进行处理。该处理与登录脚本无关,但它会进行一些数据检查和日志记录以供内部分析。我正在使用cURL传递此数据,但cURL正在等待响应。我不想等待响应,因为这导致用户必须等待分析完成才能登录。我知道请求可能会失败,但我并不过分担心。我基本上希望它像多线程应用程序一样工作,其中使用cURL来fork进程。有什么办法吗?我的代码如下://Loguserin$ch=curl_init();curl_setopt($ch,CURLOPT_URL,'http://site.com/userdata.php?e='.$email);curl_setopt($

php - 检测 cURL 是否有效?

这是警告。Warning:curl_setopt_array()[function.curl-setopt-array]:CURLOPT_FOLLOWLOCATIONcannotbeactivatedwheninsafe_modeoranopen_basedirissetin/.../file.phponline41这就是我用来检测cURL的。如果未启用cURL,则会触发变通办法。functioncurlEnabled(){if(ini_get('safe_mode')==1)return0;returnin_array('curl',get_loaded_extensions());

php - curl 帖子给出奇怪的字符,如 åäö

我在grails中有一个带有后期操作的Controller。现在,当通过php和curl尝试发布到grailscontoller时,我得到?占位符,用于åäö等字符。如果我在同一篇文章中创建一个小的html表单,grailscontoller接收参数作为åäö而不是?等。下面有什么区别,我怎样才能让curl充当html表单示例?curl示例:$x=curl_init("http://localhost/post");curl_setopt($x,CURLOPT_HTTPHEADER,array('Content-Type:application/x-www-form-urlencode

php - 获取在 PHP 上不使用 curl 的网页(文本)的内容

我正在使用一个非常简单的php脚本来检索网页的文本;$homepage=file_get_contents('http://192.168.1.125:6547/quickstatus');echo$homepage;但此说明不适用于https,我不支持curl(我使用的是phpcompiler),有什么方法可以检索使用https的页面的内容而不使用curl??? 最佳答案 我认为如果函数file_get_contents不能使用https地址意味着您安装的PHP没有安装openssl扩展。这就是为什么curl和其他解决方案也不是一

请求之间的 PHP cURL multi_exec 延迟

如果我运行标准的cURL_multi_exec函数(下面的示例),我会立即获得所有请求的cURL句柄。我想在每个请求之间延迟100毫秒,有没有办法做到这一点?(在Google和StackOverflow搜索中找不到任何内容)我在curl_multi_exec()之前尝试过usleep(),这会减慢脚本速度但不会推迟每个请求。//arrayofcurlhandles&results$curlies=array();$result=array();$mh=curl_multi_init();//setupcurlrequestsfor($id=0;$id0);//getcontentand

php - 使用 cURL 从网页获取 html 并使用 preg-replace 去除 html

我想获取海盗湾的统计数据,统计数据可以在TPB上的以下div中找到:5.695.184registeredusersLastupdated14:46:05.35.339.741peers(25.796.820seeders+9.542.921leechers)in4.549.473torrents.这是我的代码:)(.*?)()(.*?)/','$2',$data);echo$data;curl_close($ch);exit;?>如您所见,我使用以下preg-replace模式来去除HTML:$data=preg_replace('/(.*?)()(.*?)()(.*?)/','$2

PHP cUrl ssl 超时

我将cUrl与Php(最新稳定的Ubuntu版本)结合使用来获取远程https页面,并且curl_exec在达到超时后返回false。显然我正在使用这些设置:curl_setopt($soap_do,CURLOPT_SSL_VERIFYPEER,0);curl_setopt($soap_do,CURLOPT_SSL_VERIFYHOST,0);使用wireshark,似乎服务器在“ClientHello”后没有应答。一些奇怪的事实:用perl编写的相同脚本在同一台机器上通过CLI运行运行旧机器的完全相同的代码可以正常工作提示?有人建议重新编译curl和openssl...我可以在开发机

php - 无法使用 CURL 请求设置 "Host:" header

我正在尝试使用一些基本身份验证(通过发送加密header)发出CURL请求。但是,当我尝试设置"Host:_"header时,远程服务器响应:BadRequest:Yourbrowsersentarequestthatthisservercouldnotunderstand.下面是调用CURL的代码。请注意,只要我注释掉$http_header变量中的"Host:url"header,它就会起作用。但是,它在目标服务器上用作身份验证过程的一部分,所以我不能简单地删除它。$curl=curl_init();$opt=array(CURLOPT_URL=>$url,CURLOPT_RETU

php - 在 php 中使用 curl 登录页面,然后访问链接 "logged in"

我需要使用php中的curl登录(发帖)到一个网站,然后保存一个带有身份验证的cookie,并使用它访问来自同一网站的正常链接.他们只有一半的免费版本可用,但全部都是付费版本。所以如果可能的话,我想保存一个cookie以供以后多次使用。我对cURL和PHP有所了解,但我还没有想出解决方案。谢谢大家! 最佳答案 您需要使用cookiejar参数在两个请求之间共享一个文本文件。/*Createatemporarycookiefile*/$ckfile=tempnam("/tmp","COOKIES");/*Visitthefirstpa